watch com.gjy.arthas.sps.controller.HelloController hello '{params}' -x 3
watch com.gjy.arthas.sps.controller.HelloController hello '{params}' 'params[0].get("i") == 100' -x 3
watch com.gjy.arthas.sps.controller.HelloController hello '{params, returnObj}' '#cost>200' -x 2

tt -t com.gjy.arthas.sps.controller.HelloController hello

sc -d com.gjy.arthas.sps.controller.HelloController | grep classLoaderHash
# 静态方式
ognl -c 18b4aac2 '#map = new java.util.HashMap(),#map.put("name", "111"),#map.put("age", 25),#map.put("city", "222"),@com.gjy.arthas.sps.controller.HelloController@hello(#map)'
# 普通方法
ognl -c 18b4aac2 '#controller=@com.gjy.arthas.sps.util.ApplicationContextUtil@getBean("helloController",@com.gjy.arthas.sps.controller.HelloController@class),#map = new java.util.HashMap(),#map.put("name", "111"),#map.put("age", 25),#map.put("city", "222"),#controller.hello(#map)'

tt -p -i 1000

trace -n 10 com.gjy.arthas.sps.controller.HelloController hello

stack -n 2 com.gjy.arthas.sps.controller.HelloController hello

monitor -c 5 com.gjy.arthas.sps.controller.HelloController hello 'params[0].get("i") == 100'

getstatic com.gjy.arthas.sps.util.ApplicationContextUtil applicationContext

heapdump D:/tmp/docker/hd.hprof

